package imotech.web.mbeans;


import imotech.ejb.dao.AluguelDAO;
import imotech.ejb.dao.ClienteDAO;
import imotech.ejb.dao.ImovelDAO;
import imotech.ejb.model.Cliente;
import imotech.ejb.model.Imovel;

import java.util.Date;

import javax.ejb.EJB;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;


@ManagedBean(name="aluguelMB")
@SessionScoped
public class Aluguel {
	
	private Date data;
	private double valor;
	private int periodo;
	
	private int clienteId;
	private int imovelId;
	
	private Cliente cliente;
	private Imovel imovel;
	
	
	@EJB
	private AluguelDAO aluguelDAO;
	
	@EJB
	private ImovelDAO idao;

	@EJB
	private ClienteDAO cdao;
	
	
	public Aluguel(){
	}
	
	
	public Date getData() {
		return data;
	}

	public void setData(Date data) {
		this.data = data;
	}

	
	
	public double getValor() {
		return valor;
	}

	public void setValor(double valor) {
		this.valor = valor;
	}
	
	
	
	public int getPeriodo() {
		return periodo;
	}

	public void setPeriodo(int periodo) {
		this.periodo = periodo;
	}
	
	
	
	public Imovel getImovel() {
		return imovel;
	}
	
	
	
	public Cliente getCliente() {
		return cliente;
	}
	
	
	public String selecionaImovel(String imovelId) {
		
		this.imovelId = Integer.parseInt(imovelId);
		this.imovel = idao.recuperar(this.imovelId);
		
		
		this.valor = imovel.getValor();
		
		return "selecionarCliente.xhtml";
	}
	
	
	public String selecionaCliente(String clienteId) {
		
		this.clienteId = Integer.parseInt(clienteId);
		this.cliente = cdao.buscarId(this.clienteId);
		
		return "cadastrar.jsp";
	}
	
	
	
	public String cadastrar() {
		
		if (this.imovel != null) {
			if (this.cliente != null) {

				imotech.ejb.model.Aluguel aluguel = new imotech.ejb.model.Aluguel();
				
				aluguel.setCliente(this.cliente);
				aluguel.setImovel(this.imovel);
				aluguel.setValor(this.valor);
				aluguel.setPeriodo(this.periodo);
				aluguel.setData(this.data);
				
				aluguelDAO.cadastrar(aluguel);
			}
		}
		
		return "";
	}
	
	public String alterarCliente() {
		return "selecionarCliente.xhtml";
	}
	
	public String alterarImovel() {
		return "selecionarImovel.xhtml";
	}

	
}
